package br.com.sisgerenciamento.dao.produtoquantidade;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import br.com.sisgerenciamento.exceptions.ApplicationException;
import br.com.sisgerenciamento.exceptions.ExcluirException;
import br.com.sisgerenciamento.generic.GenericDAO;
import br.com.sisgerenciamento.model.produtoquantidade.ProdutoQuantidadeVO;

public class ProdutoQuantidadeDAOServiceImpl extends GenericDAO<ProdutoQuantidadeVO> implements
ProdutoQuantidadeDAOService {

	public void excluir(ProdutoQuantidadeVO vo) throws ExcluirException {
		delete(vo);
	}

	public ProdutoQuantidadeVO obterProdutoQuantidadePorCodigo( Long codigo ) throws ApplicationException {
		Session session = getSessionAberta();
		try {
			Criteria criteria = session.createCriteria( ProdutoQuantidadeVO.class );
			criteria.add( Restrictions.eq( "codigo", codigo ) );
			return (ProdutoQuantidadeVO) consultar( criteria );
		} catch ( Exception e ) {
			throw new ApplicationException( e.getMessage() );
		} finally {
			if ( session != null )
				session.close();
		}
	}
}
